Specifying and Checking Security Properties in an Evolving Software Base
نویسندگان
چکیده
Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing this collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden Research funded under this grant led to the development of techniques and tools for protecting privacy in a decentralized environment and achieving Byzantine Fault Tolerance (BFT), and a methodology that enables BFT replicas to run different implementations. The work led to an innovative new security model that allows static checking of security properties, a new annotation language for expressing security properties, extensions to Java that allow code to use the new model, lightweight tools for checking security properties of both source code (via a new compiler) and byte codes (via a new bytecode verifier), and a study of runtime support needed by the model. A new replications algorithm (BFT) that is robust against Byzantine failures was developed. It is efficient, works in an asynchronous environment and can be used to harden critical system services. An extension to BFT, called BFT with Abstract Specification Encapsulation (BASE), was developed to allow different software to run at different replicas so as to avoid failures due to software bugs. It provides a way of achieving practical N-version programming in which different versions are developed by different organizations and also the different versions may differ in the details of their behavior, i.e., support slightly different specifications.
منابع مشابه
Automatic Generation of Robustness and Security Properties from Program Source Code
Software robustness and security are critical to dependable operations of computer systems. Robustness and security of software systems are governed by various temporal properties. Static verification has been shown to be effective in checking temporal properties. But manually specifying these properties is cumbersome and requires knowledge of the system and source code. Furthermore, many syste...
متن کاملGenerating and Inferring Interface Properties for Static Analysis
Software robustness and security are critical to dependable operations of computer systems. Robustness and security of software systems are governed by various temporal properties. Static verification has been shown to be effective in checking temporal properties. But manually specifying these properties is cumbersome and requires knowledge of the system and source code. Furthermore, many syste...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملVerification of Control Flow based Security Properties
A fundamental problem in software-based security is whether local security checks inserted into the code are sufficient to implement a global security property. We introduce a formalism based on a two-level lineartime temporal logic for specifying global security properties pertaining to the control-flow of the program, and illustrate its expressive power with a number of existing properties. W...
متن کاملModel Checking Security Properties of Control Flow Graphs
A fundamental problem in software-based security is whether local security checks inserted into the code are sufficient to implement a global security property. This article introduces a formalism based on a linear-time temporal logic for specifying global security properties pertaining to the control flow of the program, and illustrates its expressive power with a number of existing properties...
متن کامل